package com.itheima.topic3;
/*
    1 首先存在一个接口（RandomNumHandler）
    2 在该接口中存在一个抽象方法（getNumber），该方法是无参数但是有返回值
    3 在测试类（RandomNumHandlerDemo）中存在一个方法（useRandomNumHandler），方法的的参数是RandomNumHandler类型的
        在方法内部调用了RandomNumHandler的getNumber方法
 */
public class LambdaTest3 {
    public static void main(String[] args) {
        //方法一：
        int rs = new RandomNumHandlerDemo().useRandomNumHandler(new RandomNumHandler() {
            @Override
            public int getNumber() {
                return 1;
            }
        });
        System.out.println(rs);
        System.out.println("-----------------------------------------------------------");
        //方法二：
        int rs2 = new RandomNumHandlerDemo().useRandomNumHandler(()-> 2);
        System.out.println(rs2);

    }
}

interface RandomNumHandler{
    int getNumber();
}

class RandomNumHandlerDemo{
    int useRandomNumHandler(RandomNumHandler rnh){
         return rnh.getNumber();
    }

}